#ifdef SU1
#define _GLIBCXX_DEBUG
#endif

#include <algorithm>
#include <bitset>
#include <cassert>
#include <climits>
#include <cstring>
#include <cstdio>
#include <ctime>
#include <cstdlib>
#include <cmath>
#include <fstream>
#include <iostream>
#include <iomanip>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <stack>
#include <set>
#include <string>
#include <utility>
#include <vector>

using namespace std;

#define forn(i, n) for (int i = 0; i < int(n); i++)
#define forl(i, n) for (int i = 1; i <= int(n); i++)
#define ford(i, n) for (int i = int(n) - 1; i >= 0; i--)
#define fore(i, l, r) for (int i = int(l); i <= int(r); i++)
#define pb(a) push_back(a)
#define mp(x, y) make_pair((x), (y))
#define sz(a) (int) (a).size()
#define all(a) (a).begin(), (a).end()
#define ft first
#define sc second
#define x first
#define y second

template<typename X> inline X abs(const X& a) { return a < 0 ? -a : a; }
template<typename X> inline X sqr(const X& a) { return a * a; }

typedef long long li;
typedef long double ld;
typedef pair<li, li> pt;

const int INF = int(1e9);
const li INF64 = li(1e18);
const ld PI = acosl(ld(-1));
const ld EPS = 1e-9;

const int N = 100 * 1000 + 13;

int n;
char s[N];

inline bool read()
{
	if (scanf("%s", s) != 1 || s[0] == '#') return false;
	n = strlen(s);
	return true;
}

inline pt operator + (pt a, pt b)
{
	while (a.sc < b.sc) a.ft *= 2, a.sc *= 2;
	while (b.sc < a.sc) b.ft *= 2, b.sc *= 2;
	a.ft += b.ft;
	while ((a.ft & 1) == 0 && (a.sc & 1) == 0) { a.ft >>= 1; a.sc >>= 1; }
	return a;
}

inline pt operator - (pt a, pt b)
{
	while (a.sc < b.sc) a.ft *= 2, a.sc *= 2;
	while (b.sc < a.sc) b.ft *= 2, b.sc *= 2;
	a.ft -= b.ft;
	while ((a.ft & 1) == 0 && (a.sc & 1) == 0) { a.ft >>= 1; a.sc >>= 1; }
	return a;
}

pair<pt, int> calc (int pos)
{
	if (pos + 4 == n) return mp(mp(90, 1), 1);
	if (pos + 5 == n) return mp(mp(0, 1), 1);
	if (s[pos] == 'n')
	{
		pair<pt, int> res = calc(pos + 5);
		return mp(res.ft - mp(90, (1 << res.sc)), res.sc + 1);
	}
	if (s[pos] == 'w')
	{
		pair<pt, int> res = calc(pos + 4);
		return mp(res.ft + mp(90, (1 << res.sc)), res.sc + 1);
	}
	throw;
}

inline void solve()
{
	pt ans = calc(0).ft;
	cout << ans.ft;
if (ans.sc != 1) { cout << "/"; printf("%I64d", ns.sc); }
	puts("");
}

int main()
{
#ifdef SU1
	assert(freopen("input.txt", "rt", stdin));
//	assert(freopen("output.txt", "wt", stdout));
#endif

	cout << fixed << setprecision(10);
	cerr << fixed << setprecision(5);

	while (read())
		solve();
	
#ifdef SU1
	cerr << "=== TIME : " << clock() << " ===" << endl;
#endif
	return 0;
}
